﻿using Basic.HrRemoteModel.DicItem.Model;
using Basic.HrRemoteModel.TreeDic.Model;
using WeDonekRpc.Client;
using WeDonekRpc.Model;

namespace Basic.HrService.Interface
{
    public interface ITreeDicItemService
    {
        TreeFullItem[] GetFullTree ( TreeItemQuery query );
        long Add ( TreeDicItemAdd add );
        void Delete ( long id );
        bool Enable ( long id );
        TreeDicItemDto Get ( long id );
        TreeItemBase[] GetTrees ( long dicId, string prtVal );
        void Move ( long fromId, long toId );
        PagingResult<TreeDicItemDto> Query ( TreeItemQuery query, IBasicPage paging );
        bool Set ( long id, TreeDicItemSet set );
        bool Stop ( long id );
        TreeItemName[] GetTreeNames ( long[] dicId );
        string[] GetTreeNames ( long dicId, string[] values );
        Dictionary<string, string> GetTreeNameDic ( long dicId, string[] values );
        TreeItemName[] GetTreeNames ( Dictionary<long, string[]> param );
        string[] FindValue ( TreeDicItemFind param );
        string GetTreeName ( long dicId, string value );
        DicItem[] GetItems ( long dicId, bool isEnd );
    }
}